Modules in Lua

A Lua module is commonly a file that constructs and returns a table. require loads the module and returns its exported value. For example,

  -- calculator.lua
  local calculator = {}

  function calculator.add(a, b)
     return a + b
  end

  function calculator.sub(a, b)
     return a - b
  end

  return calculator

  -- main.lua
  local cal = require("calculator")
  print(cal.add(2, 3))
  print(cal.sub(3, 2))

require("parent.child") looks for parent/child.lua or parent/child/init.lua.

Date: 2026-07-24 Fri